#ifndef PACKET_CREATOR_H
#define PACKET_CREATOR_H

class Packet;
class character;
class PacketCreator
{

public:
	static Packet* FORWARD_BROADCAST_COMMAND(Binary &BinCommand,uint32 GID); 
	static Packet* GIVE_ITEM(uint32 GID);
	static Packet* SPAWN_CLEAR(uint32 DestGID,uint32 QuestID,uint32 ZoneID,uint8 value);
	static Packet* SHOP_LIST( SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize );
	static Packet* CHAR_INFO( SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize );
	static Packet* CHAR_TRIGGER_EVENT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* TYPES_CAPABILITY_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* UPDATE_CHAR_STATUS(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* REVIVE_PLAYER_SE(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ZONE_INIT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CHAR_STATUS_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CONNECT_HELLO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* SPAWN_PLAYER_EVENT(CommonParam &Param,uint32 EventID);
	static Packet* SPAWN_PLAYER(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize); 
	static Packet* UNSPAWN_PLAYER(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* LOAD_NEW_MAP(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* LOAD_NEW_MAP_END(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PKT_0x020C(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* QUEST_DATA(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ZONE_DATA(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CURRENT_UNIX_TIME(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PKT_0x0215(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* GAMESERVER_IP_PORT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* END_CHAR_LOADING(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* UNIVERSE_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CURRENT_UNIVERSE_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* AUTH_KEY(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* MOTD_PAGE(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* NOTICE_MESSASG(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* SPAWN_PLAYER_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* LOAD_ZONE_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize); 
	static Packet* CHAT_MESSAGE(ChatParam &param,Binary &NameBin,Binary &MsgBin);
	static Packet* WARPS_PLAYER(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* NPC_INVENTORY(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ITEMUUID_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ITEM_DESCRIPTION(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* QUEST_INIT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* QUEST_FILE(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ALLOW_PLAYER_TRANSPORT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* TRIAL_START_NOTIFICATION(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* MISSION_OPTION(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CHAR_GENERAL_DATA(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CHAR_LIST(character* chars[]);
	static Packet* FLAG_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* ADD_PARTY_MEMBER(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PARTY_MEMBER_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PARTY_RELATED_EVENT(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CURRENT_LOCATION(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* CURRENT_LOCATION_EX(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PARTY_LOCATION_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* MISSION_FILE(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize); 
	static Packet* PKT_0x1016(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PKT_0x101a(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* MISSION_START_RELATED(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* UPDATE_PAERTY_MEMBER_HP(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* OBJECT_EVENT_RESPON(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PKT_0x1211(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* LOAD_QUEST_PREVIOUSLY(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* KET_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* BOSS_GATE_SET(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PKT_0x1216(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PLAYER_PARTNER_CARD(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PARTNERCARD_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* BLOCK_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PM_INFO(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);
	static Packet* PARTY_LIST(SOCKET_FD* lpSocketFD, MSG_BASE *pMsg, uint16 wSize);




};









#endif